<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>

<body>
    <script>
        // promise API
        // 1. 调用Promise.resolve() 不传参，默认返回成功promise，结果值为undefined
        // let p = Promise.resolve('ok');

        // console.log(p);


        // 2. 调用Promise.resolve()方法，传入一个非promise的参数
            // 1.2 参数 "1"
            // 1.3 参数 true
            // let p = Promise.resolve(true);
            // let p = Promise.resolve([1,2,3]);
            // let p = Promise.resolve({a:12});
            // console.log(p);
        
        // 3. 调用Promise.resolve()方法，传入一个promise作为参数
            // 3.1 Promise.resolve() 传入一个状态为pending的promise对象
            // 3.2 Promise.resolve() 传入一个状态为resolve的promise对象
            // 3.3 Promise.resol(ve() 传入一个状态为reject的promise对象
        // let p  = Promise.resolve(new Promise((res)=>{res('ok')}));
        // let p = Promise.resolve(new Promise((res,rej)=>{rej('err')}));

        // console.log(p);
            
            // 总结：Promise.resolve传入的是promise，就会将这个参数promise返回

        // let p = Promise.resolve(new Promise((res,rej)=>{ 
        //     // res('成功');
        //     rej('失败')
        // }).then(val=>Promise.resolve('ok')));
        // console.log(p);

        // 5- 结论:如果接收到的是promise,那么resolve会将该接收到的promise进行返回
        // const p = new Promise((resolve,reject)=>{
        //     reject(100)
        // });
        // const p1 = Promise.resolve(p);
        // console.log(p,p1);// 失败,值为100
        // console.log(p === p1);// true
    </script>
</body>

</html>